<?php
#!/bin/bash

/**
 * User: hzbskak
 * Date: 2020/1/7 - 15:50
 */

namespace app\admin\controller;

use app\admin\model\BsAdminAnnonceReadModel;
use app\admin\model\CommonModel;
use app\admin\model\PlAnnounceModel;
use think\Request;

/**
 * 主页
 * Class Index
 * @package app\admin\controller
 */
class Index extends Common
{
    /**
     *主页
     * @date 2020年1月17日16:39:47
     * ------------------
     * 1 前台ajax请求获取左侧栏目信息
     * 2 页面初始化时获取公告栏信息
     * 3 前天ajax定时获取公告栏信息
     * 4 获取打开iframe的tabbar名称和路径
     * ------------------
     * @return \app\admin\model\BsMenuModel[]|array|false|mixed
     * @throws \think\Exception
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\ModelNotFoundException
     * @throws \think\exception\DbException
     */
    public function common()
    {
        if( request()->isAjax() && input( 'get.type') == 'menu') // 获取左侧栏目信息
        {
            return CommonModel::menuList();
        }

        // 获取公告信息
        $announce = new PlAnnounceModel();
        $announce_list = $announce->getAnnounce( '', 6);

        if( request()->isAjax()) // 定时获取公告
        {
            return $announce_list;
        }

        $this->assign( 'count', $announce_list['count']);
        $this->assign( 'announceList', $announce_list['arr']);

        // 获取首页右侧边栏顶部信息
        $url = CommonModel::getTabBar();
        $this->assign( 'url', $url);

        return $this->fetch( '/common/public');
    }

    /**
     * 主页
     * @return mixed
     */
    public function index()
    {
        return $this->fetch("/common/index");
    }

    /**
     * 公告列表
     * @date 2020年1月17日17:37:41
     * @return mixed
     * @throws \think\Exception
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\ModelNotFoundException
     * @throws \think\exception\DbException
     */
    public function annonceList(){
        $total = ( new PlAnnounceModel())->getAnnounce(0,0,true);

        $request = Request::instance();
        if( $request->isAjax()){
            return $total;
        }

        $this->assign( "annonceList", $total['arr']);
        $this->assign( "page", $total['page']);
        return $this->fetch( "/common/annonceList");
    }

    /**
     * 公告详情
     * @date 2020年1月17日17:38:09
     * 页面初始化，获取公告信息，同时ajax请求设置已读方法
     * @param $id int pl_announce公告表主键
     * @return bool|mixed
     * @throws \think\Exception
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\ModelNotFoundException
     * @throws \think\exception\DbException
     */
    public function readthis( $id)
    {
        if( input( 'param.id'))
        {
            if( request()->isPost()) // 确认收到
            {
                BsAdminAnnonceReadModel::setRead( $id); // 设置为已读
                return true;
            }

            $total = ( new PlAnnounceModel())->getAnnounce( $id); // 获取数据
            $this->assign( 'id', $id);
            $this->assign( 'annonce', $total['arr']);

            return $this->fetch( '/common/annonce');
        }
    }


































}